package com.probox.common.entity.service.platfom;

import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.common.entity.domain.platfom.PlatformStore;
import com.probox.platform.api.domain.PlatformStoreVo;

import java.util.List;
import java.util.Set;

/**
 * 门店信息Service接口
 *
 * @author usoft
 * @date 2021-08-20
 */
public interface IPlatformStoreService extends IService<PlatformStore> {

    /**
     * 根据当前人查询门店
     *
     * @return
     */
    public List<PlatformStore> selectStoreByWork(String type);

    /**
     * 查询没有门店分组的门店
     * @param
     * @return
     */
    public List<PlatformStore> selectNoGroup(Long uid);

    /**
     * 根据门店分组查询门店
     *
     * @param storeGroupId
     * @return
     */
    public List<PlatformStore> selectByUser(Long storeGroupId);

    public List<PlatformStore> selectGroup();

    public List<PlatformStore> getStoreByServiceType(List<String>  serviceType,Long storeId);

    /**
     * 门店下拉列表
     *
     * @param platformUid
     * @return
     */
    public List<PlatformStoreVo> listSelect(Long platformUid);

    /**
     * 查询门店信息
     *
     * @param storeUid 门店信息ID
     * @return 门店信息
     */
    public PlatformStore selectPlatformStoreById(Long storeUid);


    /**
     * 查询门店信息列表
     *
     * @param platformStore 门店信息
     * @return 门店信息集合
     */
    public List<PlatformStore> queryList(PlatformStore platformStore);


    /**
     * 新增门店信息
     *
     * @param platformStore 门店信息
     * @return 结果
     */
    public boolean insertPlatformStore(PlatformStore platformStore);

    /**
     * 修改门店信息
     *
     * @param platformStore 门店信息
     * @return 结果
     */
    public boolean updatePlatformStore(PlatformStore platformStore);

    /**
     * 批量删除门店信息
     *
     * @param storeUids 需要删除的门店信息ID
     * @return 结果
     */
    public boolean deletePlatformStoreByIds(Long[] storeUids);

    /**
     * 获取门店详情
     *
     * @param store
     * @return
     */
    public PlatformStoreVo getVo(PlatformStore store);

    public List<PlatformStore> listSelectSelf(Long platformId);

    /**
     * 获取小程序门店列表
     * @param platformUid
     * @return
     */
    public List<PlatformStoreVo> appletHomeList(Long platformUid);

    public List<PlatformStore> listRecommend();

    public List<PlatformStore> listSelectGroup(Long platformId);

    public List<PlatformStore> getStoreByServiceType(Set<String> serviceType);
}
